package com.zys.background.common.type;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * @apiNote 禁止警告的类型  {@link java.lang.SuppressWarnings}
 * @author zys
 * @since 2022-11-19
 */
@SuppressWarnings(SuppressWarningsType.UNUSED)
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class SuppressWarningsType {
  /**
   * 所有
   */
  public static final String ALL = "all";
  /**
   * 装箱、拆箱操作
   */
  public static final String BOXING = "boxing";
  /**
   * 强制转换操作相关
   */
  public static final String CAST = "cast";
  /**
   * 使用弃用方法
   */
  public static final String DEPRECATION = "deprecation";
  /**
   * 使用弃用注解
   */
  public static final String DEP_ANN = "dep-ann";
  /**
   * switch 语句中缺少 break
   */
  public static final String FALLTHROUGH = "fallthrough";
  /**
   * finally 块不返回
   */
  public static final String FINALLY = "finally";
  /**
   * 与隐藏变量相关的局部变量
   */
  public static final String HIDING = "hiding";
  /**
   *  switch 语句中缺少项
   */
  public static final String INCOMPLETE_SWITCH = "incomplete-switch";
  /**
   * 非 nls 字符串文本
   */
  public static final String NLS = "nls";
  /**
   * 忽略对 null 操作的警告
   */
  public static final String NULL = "null";
  /**
   * 没有标明泛型
   */
  public static final String RAWTYPES = "rawtypes";
  /**
   *
   */
  public static final String RESTRICTION = "restriction";
  /**
   * 忽略在 serializable 类中没有声明 serialVersionUID 变量
   */
  public static final String SERIAL = "serial";
  /**
   * 不正确的静态访问方式
   */
  public static final String STATIC_ACCESS = "static-access";
  /**
   * 子类没有按最优方法访问内部类
   */
  public static final String SYNTHETIC_ACCESS = "synthetic-access";
  /**
   * 没有进行类型检查操作
   */
  public static final String UNCHECKED = "unchecked";
  /**
   * 没有权限访问的域
   */
  public static final String UNQUALIFIED_FIELD_ACCESS = "unqualified-field-access";
  /**
   * 没有使用的代码
   */
  public static final String UNUSED = "unused";
  /**
   * 使用 @NotNull 注解
   */
  public static final String NULLABLE_PROBLEMS = "NullableProblems";
  /**
   * 阿里枚举必须有注释
   */
  public static final String ALIBABA_ENUM_CONSTANTS_MUST_HAVE_COMMENT ="AlibabaEnumConstantsMustHaveComment";
  /**
   * 手动创建线程池AlibabaAvoidManuallyCreateThread
   */
  public static final String ALIBABA_THREAD_POOL_CREATION = "AlibabaThreadPoolCreation";
  /**
   * 手动创建线程没有使用线程池
   */
  public static final String ALIBABA_AVOID_MANUALLY_CREATE_THREAD = "AlibabaAvoidManuallyCreateThread";
  /**
   * 常量名必须大写
   */
  public static final String ALIBABA_CONSTANT_FIELD_SHOULD_BE_UPPERCASE = "AlibabaConstantFieldShouldBeUpperCase";
}
